package fumec.br.ia.search;

import fumec.br.ia.util.CsvDBRead;

public class Problema {
	private Integer origem;
	private Integer destino;
	
	private double matriz[][];
	private double distancia[][];
	
	public Problema(String arquivoCusto) throws Exception{
		CsvDBRead readCsv = new CsvDBRead();
		readCsv.readDB(arquivoCusto);
		this.matriz = readCsv.getInputs();
	}

	public Problema(String arquivoCusto, String arquivoDistancia) throws Exception{
		CsvDBRead readCsv = new CsvDBRead();
		readCsv.readDB(arquivoCusto);
		this.matriz = readCsv.getInputs();
		
		CsvDBRead readCsvDistancia = new CsvDBRead();
		readCsvDistancia.readDB(arquivoDistancia);
		this.distancia = readCsvDistancia.getInputs();
	}
	
	public double getCusto(Integer origem, Integer destino){
		return matriz[origem][destino];
	}

	public double getDistancia(Integer origem, Integer destino){
		return distancia[origem][destino];
	}
	
	public Integer getOrigem() {
		return origem;
	}

	public void setOrigem(Integer origem) {
		this.origem = origem;
	}

	public Integer getDestino() {
		return destino;
	}

	public void setDestino(Integer destino) {
		this.destino = destino;
	}
	
	public Integer getPontos() {
		return this.matriz.length;
	}
}